Cloud computing is the use of computing resources (hardware and software) which are available in a remote location and accessible over a network, such as the Internet. In some arrangements, users are able to buy these computing resources (including storage and computing power) as a utility on demand. Cloud computing entrusts remote services with a user's data, software and computation. Use of virtual computing resources can provide a number of advantages including cost advantages and/or the ability to adapt rapidly to changing computing resource needs.
Large computer systems, including cloud computing facilities can include many compute resources spread across one or more datacenters. In aggregate, the computer systems can include many different types of components that perform different functions. For example, different components can be used to provide redundancy, load balancing, and/or specialized computing functions. It can be costly to maintain an inventory of a large number of different types of components for the computing facility. Thus, the cloud service provider may desire to reduce the number of distinct components used within the computing facility.